<?php

class Solution
{
    /**
     * @param String    $s
     * @param Integer[] $cost
     * @return Integer
     */
    function minCost($s, $cost)
    {
        $charArray = str_split($s);
        $strLen = count($charArray);
        if (count(array_unique($charArray)) == $strLen) {
            return 0;
        }

        $ret = 0;
        //算出保留最大的 最小的就是sum - 最大
        for ($i = 0; $i < $strLen; $i = $j) { //没有重复的之后，就设置下边为 后面的
            $charI = $charArray[$i];
            $max = 0; //最大的消耗
            $maxSun = 0; //存相同数据的和
            //从当前下标开始，判断后面有没有重复的
            for ($j = $i; $j < $strLen && $charArray[$j] == $charI; $j++) {
                $max = max($max, $cost[$j]);
                $maxSun += $cost[$j];
            }
            $ret += ($maxSun - $max);
        }
        return $ret;
    }
}
